如何高效地计算 sin(x) 与 cos(x) 的值? |
您所在的位置:网站首页 › cos 的值 › 如何高效地计算 sin(x) 与 cos(x) 的值? |
有比泰勒级数更好的做法,简单来讲,sin(x)是函数空间中的一个矢量,然后5次多项式构成的空间是函数空间的一个子空间,sin(x)在五次多项式空间上的正交投影就是对sin(x)的最佳五次多项式逼近,这个近似在整个周期内的精度都非常高。这个五次多项式的表达式是 y = 0.987862x - 0.155271x^3 + 0.00564312x^5 具体内容见《线性代数应该怎么学》第六章。 -------------------- 为了方便大家,具体步骤列在下面 求sin(x)的逼近等价于求使如下积分最小的函数f(x) \int_{-\pi}^{\pi}|\sin(x)-f(x)|^2dx 为了找到这样的f(x)可定义如下内积 =\int_{-\pi}^{\pi}f(x)g(x)dx 令u=\sin(x),U为次数不超过五的实系数多项式组成的子空间,那么问题重述为找到u\in U 使得||u-v||最小,由正交投影的性质可知,当u=P_Uv时该值最小。为了求得正交投影P_Uv,首先需要知道U的一组规范正交基,对U的基(1,x,x^2,x^3,x^4,x^5)进行格拉姆-施密特正交化过程可得规范正交基为 (e_1,e_2,e_3,e_4,e_5,e_6)=(\frac{1}{\sqrt{2\pi}}, \\\frac{\sqrt{\frac{3}{2}}x}{\pi^{3/2}}, \\ -\frac{\sqrt{\frac{5}{2}}(\pi^2-3x^2)}{2\pi^{5/2}}, \\\frac{\sqrt{\frac{7}{2}}(3\pi^2x-5x^3)}{2\pi^{7/2}}, \\\frac{3(3\pi^4-30\pi^2x^2+35x^4)}{8\sqrt{2}\pi^{9/2}}, \\-\frac{\sqrt\frac{11}{2}(15\pi^4x-70\pi^2x^3+63x^5)}{8\pi^{11/2}}) 最后,可求得 P_Uv & = &e_1+e_2+e_3+e_4+e_5+e_6 \\&=& \frac{105(1485-153\pi^2+\pi^4)}{8\pi^6}x - \frac{315(1155-125\pi^2+\pi^4)}{4\pi^8}x^3+\frac{693(945-105\pi^2+\pi^4)}{8\pi^{10}}x^5 即为所求得得多项式近似,为了直观地比较近似地精度,现将sin(x)和所求得的近似绘于同一图中 其中蓝色曲线是sin(x),红色曲线是近似多项式,可以观察到二者几乎完全重合。为了和泰勒级数的精度作比较,现将泰勒级数所得的结果也绘于图中,可以观察到在靠近\pi和-\pi的地方结果已经完全偏离了。 如果只需要在半个周期内作近似的话,求正交投影这种方法的精度还会更高。 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |